package main

import "fmt"

func main() {
	//单分支 来做联系的 建议每次只能用一个 因为变量都是用的一个
	//实现功能： 如果口罩库存小于30个，提示：库存不足
	//单分支方式一
	var count int = 20
	if count < 30 {
		fmt.Println("对不去，口罩存量不足")
	}
	//if后面表达式。返回结果一定是true或者false
	//如果返回结果为true的话，哪个{}中的代码就会执行
	//如果返回结果为false的话，那么{}中的代码就不会执行
	//if后面一定要有空格，和条件表达式分隔开来
	//{}一定不能省略
	//条件表达式左右的（）是建议略的
	//在golang里，if后面看可以并列的加入变量的定义
	//单分支 方式二
	if count := 20; count < 30 {
		fmt.Println("对不起, 口罩存量不足")
	}

	//双分支
	var count int = 70
	if count < 30 { //这个条件表达返回是true的话， 后面{}执行了
		fmt.Println("库存不足")
	} else {
		fmt.Println("库存充足")
	}
	//双分支一定会二选一其中一个分支

	//多分支
	//实现功能：根据给出的学生分数，判断学生的等级：

	var count int = 20
	if count >= 90 {
		fmt.Println("你的成绩为A级别")
	} else if count >= 80 {
		fmt.Println("你的成绩为B级别")
	} else if count >= 70 {
		fmt.Println("你的成绩为C级别")
	} else if count >= 60 {
		fmt.Println("你的成绩为D级别")
	} else {
		fmt.Println("你的成绩为E级别")
	}
}
	switch01 方法一
	//实现功能：根据给出的学生的分数，判断学生的等级
	// >=90 ------A
	// >=80 ------B
	// >=70 ------C
	// >=60 ------D
	// <60  ------E

	//给出一个学生分数
	//var score int = 187
	//根据分数判断等级：
	//swich后面是一个表达式，这个表达式的结果依次跟case进行比较，满足结果的话就执行冒号后面的代码。
	//default是用来”兜底“的一个分支，其他case分支不走的情况下就会走default分支
	//default分支可以放任意位置上，不一定非要放到最后。

	var score int32 = 13
	switch score  {
	case 10, 11, 12, 13:
		fmt.Println("您的等级为A级")
	case 9:
		fmt.Println("您的等级为A级")
	case 8:
		fmt.Println("您的等级为B级")
	case 7:
		fmt.Println("你的等级为C级")
	case 6:
		fmt.Println("你的等级为D级")
	case 5:
		fmt.Println("您的等级为E级")
	default:
		fmt.Println("您的等级不够")








	switch02 方法二
    var score int = 11
    switch score {
	case 10, 11, 12:

        fmt.Println("您的等级为A级")
    case 9:

		fmt.Println("您的等级为A级")
    case 8:

         fmt.Println("您的等级为B级")
    case 7:

         fmt.Println("你的等级为C级")
    case 6:

         fmt.Println("你的等级为D级")
    case 5:
         fmt.Println("您的等级为E级")
    default:
         fmt.Println("您的等级不够")


	}

}
